﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Text;

namespace T.FAS.Runtime.Metadata.Entity
{
    /// <summary>
    /// 元数据依赖
    /// </summary>
    public class MetaDataDependencySlim
    {
        /// <summary>
        /// ID
        /// </summary>
        [DataMember]
        public string ID { get; set; }
        /// <summary>
        /// 当前元数据ID或Code
        /// </summary>
        [DataMember]
        public string MetadataID { get; set; }

        /// <summary>
        /// 当前元数据ID或Code
        /// </summary>
        [DataMember]
        public string MetadataType { get; set; }
        /// <summary>
        /// 当前元数据ID或Code
        /// </summary>
        [DataMember]
        public string MetadataTypeAbbr { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [DataMember]
        public string ParentMetadataID { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DataMember]
        public string CheckoutUserID { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DataMember]
        public string ParentMetadataCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [DataMember]
        public string ParentMetadataType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [DataMember]
        public string ParentMetadataTypeAbbr { get; set; }
        ///// <summary>
        ///// 当前元数据依赖的元数据依赖的元数据的删除标记，1:代表已删除 0:代表未删除
        ///// </summary>
        //[DataMember]
        //public int ParentMetaDepenDeleteMark { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [DataMember]
        public DateTime ParentMetaDataLastModifyTime { get; set; }
        
        /*
        /// <summary>
        /// 依赖元数据依赖的元数据ID
        /// </summary>
        [DataMember]
        public string ParentMetaDepenMetaID { get; set; }
        /// <summary>
        /// 依赖元数据依赖的元数据Code
        /// </summary>
        [DataMember]
        public string ParentMetaDepenMetaCode { get; set; }
        /// <summary>
        /// 依赖元数据依赖的元数据Type
        /// </summary>
        [DataMember]
        public string ParentMetaDepenMetaDataType { get; set; }
        /// <summary>
        /// 依赖元数据依赖的元数据Abbr
        /// </summary>
        [DataMember]
        public string ParentMetaDepenMetaDataTypeAbbr { get; set; }
        /// <summary>
        /// 依赖元数据依赖的元数据最后修改时间
        /// </summary>
        [DataMember]
        public DateTime ParentMetaDepenMetaDataLastModifyTime { get; set; }
        */

        /// <summary>
        /// 依赖元数据依赖的元数据集合
        /// </summary>
        public List<MetaDataDependencySlim> ParentMetaDependMetaDatas { get; set; }
    }
}
